package com.java2007.hotel.service;

import com.java2007.hotel.pojo.Food;

import java.sql.SQLException;
import java.util.List;

/**
 * 菜品业务层
 * @author csl
 * @version V1.0
 * @date 2021/01/23
 **/
public interface FoodService {
    /**
     * 查询所有菜品
     * @return
     */
    List<Food> selectAll() throws SQLException;

    /**
     * 根据名字模糊查询
     * @param name
     * @return
     */
    List<Food> selectFoodByName(String name) throws SQLException;

    /**
     * 根据id查询菜品
     * @param id
     * @return
     */
    Food selectFoodById(int id) throws SQLException;

    /**
     * 根据id删除菜品
     * @param id
     * @return
     */
    int deleteFoodById(int id) ;

    /**
     * 修改菜品
     * @param food
     * @return
     */
    int updateFood(Food food);

    /**
     * 增加一个菜品
     * @param food
     * @return
     */
    int addFood(Food food);
    /**
     * 根据菜系id删除菜品
     * @param cuisineId
     * @return
     */
    int deleteFoodByCuisineId(int cuisineId) throws SQLException;

    /**
     * 根据名字查询一个
     * @param name
     * @return
     */
    Food selectFoodByNameOne(String name) throws SQLException;

    /**
     * 分页查询菜品
     * @param start
     * @param pageSize
     * @return
     * @throws SQLException
     */

    List<Food> selectLimit(int start, int pageSize) throws SQLException;

    /**
     * 根据菜系id查询菜品
     * @param cuisineId
     * @return
     */
    List<Food> selectFoodBy(int cuisineId) throws SQLException;

    /**
     * 根据菜系id分页查询菜品
     * @param cuisineId
     * @return
     */
    List<Food> selectFoodBy(int cuisineId,int start, int pageCount) throws SQLException;

    /**
     * 根据名字模糊分页查询
     * @param name
     * @return
     */
    List<Food> selectFoodByNameLimit(String name,int start, int pageCount) throws SQLException;


}
